#!/usr/bin/python
#-*- coding: UTF-8 -*-

"""
字符串类型:
    1. 单引号 '' 或 双引号 "" 括起来的来表示字符串
    2. 反斜杠 \ 可以用来转义
    3. 字符串中有单引号没有双引号则使用双引号，否则使用单引号
    4. 字符串不能被修改，也就是说内容不可修改，它们是 immutable 的，因此，向字符串某个索引位置赋值会产生一个错误
"""

"""
字符串操作：
    字符串定义
    字符串打印
    字符串拼接
    转义字符 \
    字符索引
    字符串截取
    字符串替换
    字符串匹配
    字符串大小写转换
    字符串排序
    ...
"""

# 1. 字符串定义
str_a = 'abc'
str_b = 'efg'

# 2. 字符串打印 + 字符串拼接 + 转义字符 \
"""
常用转义：
    @TODO
"""
print('C:\some\name')  #字符串普通打印
print(r'C:\some\name') #字符串原样打印
print("""\ 
Usage: thingy [OPTIONS]
    -h
    -H hostname
""")                   #使用 """""" 进行多行打印，首行反斜杠表示换行
print(3 * 'a')         #重复打印
print('P' 'y' 'thon') #多个字符串自动连接，只能对字面值这样操作，变量或表达式不行，变量连接时应使用 +
hello = 'hello'
print(hello + "\tPython") #使用 + 进行字符串连接, \t 表示 Tab 转义

"""
索引：
    1. 索引从 0 开始，0 和 -0 都表示第一个字符
    2. 索引可以为负数，表示从字符最后开始索引
    3. 索引值不能超过字符串的长度 - 1
    3. 同一字符串，同一字符的正负索引的绝对值之和等于 字符串长度 - 1
"""
word = 'Python'
print(word[0])
print(word[-0])
print(word[1])
print(word[-5])
print(word[0] + word[1])
print(len(word)) # 字符串长度

"""
切片：

"""
word = 'Python'
print(word[0:2])
print(word[2:5])
print(word[:2])               # 截取前两个字符
print(word[2:])               # 截取第三个字符到最后一个字符
print(word[:2] + word[2:])
print(word[-100:2] + word[2:100]) # 切片中的索引越界会被自动处理

